<template>
    <van-nav-bar title="欢迎登录" />
    <van-form @submit="onSubmit">
        <van-cell-group inset>
            <van-field v-model="username" name="username" label="手机号" placeholder="手机号"
                :rules="[{ pattern, message: '请填写手机号' }]" />
            <van-field v-model="sms" center clearable label="短信验证码" placeholder="请输入短信验证码" @click="yzm">
                <template #button>
                    <van-button size="small" type="primary" :disabled="time > 0 ? true : false">{{
                        time > 0 ? time +'秒后重新获取':'点击获取验证码' }}</van-button>
                </template>
            </van-field>
            <van-field v-model="password" type="password" name="password" label="密码" placeholder="密码"
                :rules="[{ required: true, message: '请填写密码' }]" />
        </van-cell-group>
        <div style="margin: 16px;">
            <van-button round block type="primary" native-type="submit">
                立即登录
            </van-button>
        </div>
    </van-form>
</template>

<script setup>
import { loginApi } from '@/api/api';
import { showToast } from 'vant';
import { ref } from 'vue';
const username = ref('');
const password = ref('');
let pattern = /^1[3-9]\d{9}$/
let time = ref(0)
let sms = ref('')
let timer
let yzm=()=>{
    sms.value=Math.floor(Math.random()*1000000)
    time.value=60;
    if(time.value>0){
        
        timer=setInterval(()=>{
            time.value--;
            if(time.value==0){
                clearInterval(timer)
            }
        },1000)
    }
}
const onSubmit = () => {
    loginApi(username.value, password.value).then(res => {
        if (res.data.code == 0) {
            showToast(res.data.msg)
            localStorage.setItem('token', res.data.data.token)
            localStorage.setItem('username', res.data.data.username)
        } else {
            showToast(res.data.msg)
        }
    })
};
</script>

<style lang="scss" scoped></style>